package com.wavehi.homework.first;

import java.util.function.Consumer;
import java.util.function.Function;

/**
 * @Author WaveHi
 * @Date 27/8/2021 下午 6:38
 * @Version 1.0
 * @Contact HJBWaveHi@163.com
 * @Description First homework :Preparation of lambda expression in various scenarios.
 */
public class LambdaDemo1 {

    public static void main(String[] args) {
        //忽略参数类型
        Consumer<String> consumer = (s) -> {
            System.out.println(s);
        };

        //忽略圆括号
        Consumer<String> consumerUp = s -> {
            System.out.println(s);
        };

        //忽略大括号
        Consumer<String> consumerUpUp = s -> System.out.println(s);

        //忽略return
        Function<String,String> function = s -> s + "Wow!";
    }

}

/*小结：
     1.新特性一般包含新增的API和底层结构的改变，不学习新特性会被潮流所抛弃。
     2.接口的实例
     3.对应的接口只有一个抽象方法
     4.只有一个抽象方法的接口
     5.Consumer<T> apply(T t) 接收一个参数，无返回值
       Supplier<T> T get() 不接受参数，返回一个数据
       Function<T,R> R apply(T t) 接收一个参数，返回一个数据
       Predicate<T> boolean test(T t) 接收一个参数，返回一个布尔值
*/